// 模拟数据库，用于存储 token 和登录状态
const mockDB = {}

// 保存 token 和状态
function saveToken(token, status = 'waiting') {
  mockDB[token] = {
    status,
    createdAt: Date.now(), // 记录创建时间
  }
}

// 获取 token 对应的状态
function getTokenStatus(token) {
  const record = mockDB[token]
  if (!record) return null
  // 判断是否过期（设定有效期 5 分钟）
  const isExpired = Date.now() - record.createdAt > 5 * 60 * 1000
  return isExpired ? 'expired' : record.status
}

// 更新 token 状态
function updateTokenStatus(token, status) {
  if (mockDB[token]) {
    mockDB[token].status = status
  }
}

module.exports = {
  saveToken,
  getTokenStatus,
  updateTokenStatus,
}
